﻿namespace GrupFirmalarTahsilatGirisi
{
    using System;
    using System.Data;
    using System.Data.SqlClient;

    public static class islemlerim
    {
        internal static void DeleteEvrak(string seri, string sira)
        {
            SqlCommand mCommand = new SqlCommand("Delete from CARI_HESAP_HAREKETLERI WHERE cha_evrakno_seri=@seri and cha_evrakno_sira=@sira and cha_special3='xx'");
            mCommand.Parameters.AddWithValue("@seri", seri);
            mCommand.Parameters.AddWithValue("@sira", sira);
            db_man.sqlRunCommand(mCommand);
        }

        public static DataTable firmaList()
        {
            return db_man.sqlGetDataTable(new SqlCommand("SELECT fir_sirano,fir_unvan FROM FIRMALAR"));
        }

        public static int GrupTip(string Grup)
        {
            if ((Grup != "İş Avansı") && (Grup == "Bodro Avansı"))
            {
                return 1;
            }
            return 0;
        }

        public static DataTable hesapGetir(int HesapKod, string firmaNo)
        {
            string cmdText = "";
            if (HesapKod == 0)
            {
                cmdText = "SELECT cari_kod 'Kod',cari_unvan1 'Ad' FROM CARI_HESAPLAR";
            }
            if (HesapKod == 1)
            {
                cmdText = "SELECT ban_kod 'Kod',ban_ismi 'Ad' from BANKALAR where ban_firma_no='" + firmaNo + "'";
            }
            if (HesapKod == 2)
            {
                cmdText = "SELECT hiz_kod 'Kod',hiz_isim 'Ad' from HIZMET_HESAPLARI";
            }
            if (HesapKod == 4)
            {
                cmdText = "SELECT his_kod 'Kod',his_isim 'Ad' from MASRAF_HESAPLARI";
            }
            if (HesapKod == 3)
            {
                cmdText = "SELECT kas_kod 'Kod',kas_isim 'Ad'  from KASALAR where kas_firma_no='" + firmaNo + "'";
            }
            if (HesapKod == 5)
            {
                cmdText = "SELECT cari_per_kod 'Kod',cari_per_adi  'Ad' FROM CARI_PERSONEL_TANIMLARI";
            }
            if (HesapKod == 6)
            {
                cmdText = "SELECT per_kod 'Kod',per_adi+' '+per_soyadi  'Ad' FROM PERSONELLER";
            }
            if (HesapKod == 10)
            {
                cmdText = "SELECT\tsom_kod 'Kod',som_kod+'-'+som_isim 'Ad' FROM SORUMLULUK_MERKEZLERI where som_special1='" + firmaNo + "'";
            }
            return db_man.sqlGetDataTable(new SqlCommand(cmdText));
        }

        public static void kayitEt(string seri, int sira, int kaynakFirma, int KaynakCins, string kaynakKod, string kaynakSorumluluk, int hedefFirma, int hedefCins, string hedefKod, string hedefSorumluluk, string odemeKod, string odemehesap, string odemeAciklama, float odemeTutar, DateTime evraktarih, string belgeno, string cariperGrup)
        {
            SqlCommand mCommand = new SqlCommand {
                CommandText = "sp_HareketTetik",
                CommandType = CommandType.StoredProcedure
            };
            mCommand.Parameters.AddWithValue("@seri", seri);
            mCommand.Parameters.AddWithValue("@sira", sira);
            mCommand.Parameters.AddWithValue("@kaynakFirma", kaynakFirma);
            mCommand.Parameters.AddWithValue("@KaynakCins", KaynakCins);
            mCommand.Parameters.AddWithValue("@kaynakKod", kaynakKod);
            mCommand.Parameters.AddWithValue("@kaynakSorumluluk", kaynakSorumluluk);
            mCommand.Parameters.AddWithValue("@hedefFirma", hedefFirma);
            mCommand.Parameters.AddWithValue("@hedefCins", hedefCins);
            mCommand.Parameters.AddWithValue("@hedefKod", hedefKod);
            mCommand.Parameters.AddWithValue("@hedefSorumluluk", hedefSorumluluk);
            mCommand.Parameters.AddWithValue("@odemeKod", odemTip(odemeKod));
            mCommand.Parameters.AddWithValue("@odemehesap", odemehesap);
            mCommand.Parameters.AddWithValue("@odemeAciklama", odemeAciklama);
            mCommand.Parameters.AddWithValue("@odemeTutar", odemeTutar);
            mCommand.Parameters.AddWithValue("@evraktarih", evraktarih.Date);
            mCommand.Parameters.AddWithValue("@belgeno", belgeno);
            mCommand.Parameters.AddWithValue("@grups", GrupTip(cariperGrup));
            db_man.sqlRunCommand(mCommand);
        }

        internal static object load()
        {
            return db_man.sqlGetDataTable(new SqlCommand("SELECT * FROM rmz_Odeme_List"));
        }

        public static int odemTip(string Odeme)
        {
            if (Odeme != "Cari Hesap")
            {
                if (Odeme == "Banka")
                {
                    return 1;
                }
                if (Odeme == "Hizmet")
                {
                    return 2;
                }
                if (Odeme == "Kasa")
                {
                    return 4;
                }
                if (Odeme == "Masraf")
                {
                    return 3;
                }
                if (Odeme == "Cari Personel")
                {
                    return 5;
                }
                if (Odeme == "Personel")
                {
                    return 6;
                }
            }
            return 0;
        }

        public static string sonEvarkNo(string seri)
        {
            return db_man.sqlGetScalarValue(new SqlCommand("SELECT ISNULL(max(cha_evrakno_sira),0)+1 FROM CARI_HESAP_HAREKETLERI where cha_evrakno_seri='" + seri + "'")).ToString();
        }
    }
}

